<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<html><head><meta name="qrichtext" content="1" /><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><style type="text/css">
p, li { white-space: pre-wrap; }
</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;">
<p style=" margin-top:18px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8.25pt; font-weight:600;">Как убрать заголовок у UserForm VBA</span><span style=" font-size:8.25pt;"> </span></p>
<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8.25pt;">Иногда при разработке интерфейсов программы с помощью форм пользователя(UserForm) бывает необходимо запретить закрытие формы крестиком. Причин много: например на форме много элементов выбора и пользователь не должен просто закрывать форму крестиком, не выбрав что-то конкретное. Или может форма должна висеть постоянно на листе до тех пор, пока программа не сделает все необходимые действия и т.д.<br />Варианта два<br />Вариант 1<br />Можно просто запретить закрывать форму. Это значит, что после нажатия на крестик ничего не произойдет. Для этого надо перейти в модуль формы и на событие QueryClose прописать такой код: </span></p>
<p style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:15px;"><a name="crayon-5a4ce73f8afb9951924363"></a><span style=" font-size:8.25pt;">P</span><span style=" font-size:8.25pt;">rivate Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) If CloseMode = 0 Then 'CloseMode = 0 - попытка закрыть форму крестиком Cancel = True 'даем VBA понять, что надо отменить закрытие формы End If End Sub </span></p>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8.25pt;"><br /></p>
<table border="0" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px;" cellspacing="2" cellpadding="0">
<tr>
<td>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:15px;"><span style=" font-size:8.25pt;">1</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8.25pt;">2</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8.25pt;">3</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8.25pt;">4</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8.25pt;">5 </span></p></td>
<td>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:15px;"><a name="crayon-5a4ce73f8afb9951924363-1"></a><span style=" font-size:8.25pt;">P</span><span style=" font-size:8.25pt;">rivate Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="crayon-5a4ce73f8afb9951924363-2"></a><span style=" font-size:8.25pt;"> </span><span style=" font-size:8.25pt;">   If CloseMode = 0 Then 'CloseMode = 0 - попытка закрыть форму крестиком</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="crayon-5a4ce73f8afb9951924363-3"></a><span style=" font-size:8.25pt;"> </span><span style=" font-size:8.25pt;">       Cancel = True 'даем VBA понять, что надо отменить закрытие формы</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="crayon-5a4ce73f8afb9951924363-4"></a><span style=" font-size:8.25pt;"> </span><span style=" font-size:8.25pt;">   End If</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="crayon-5a4ce73f8afb9951924363-5"></a><span style=" font-size:8.25pt;">E</span><span style=" font-size:8.25pt;">nd Sub</span></p></td></tr></table>
<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8.25pt;">данный код не даст закрыть форму нажатием на крестик, но если форма выгружается другими методами(вроде Unload) - форма закроется. За это отвечает параметр CloseMode, который может принимать следующие значения:</span></p>
<ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-size:8.25pt;" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">0</span> или <span style=" font-weight:600;">vbFormControlMenu</span> - попытка закрытия формы пользователем через элемент управления крестик</li>
<li style=" font-size:8.25pt;" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">1</span> или <span style=" font-weight:600;">vbFormCode</span> - закрытие формы через выгрузку методом Unload</li>
<li style=" font-size:8.25pt;" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">2</span> или <span style=" font-weight:600;">vbAppWindows</span> - завершение сеанса Windows(в кодах VBA практически не используется)</li>
<li style=" font-size:8.25pt;" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">3</span> или <span style=" font-weight:600;">vbAppTaskManager</span> - завершение программы через диспетчер задач(в кодах VBA практически не используется)</li></ul>
<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8.25pt;">Можно(скорее даже нужно!) дать понять пользователю, что он должен сделать что-то конкретное для закрытия формы и что крестиком это сделать нельзя, чтобы он не нервничал и не пытался завершить работу Excel через </span><span style=" font-size:8.25pt; font-weight:600;">Clt</span><span style=" font-size:8.25pt;">+</span><span style=" font-size:8.25pt; font-weight:600;">Alt</span><span style=" font-size:8.25pt;">+</span><span style=" font-size:8.25pt; font-weight:600;">Delete</span><span style=" font-size:8.25pt;">; </span></p>
<p style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:15px;"><a name="crayon-5a4ce73f8afc2729527669"></a><span style=" font-size:8.25pt;">P</span><span style=" font-size:8.25pt;">rivate Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) If CloseMode = 0 Then 'CloseMode = 0 - попытка закрыть форму крестиком MsgBox &quot;Вы должны нажать на кнопку в центре, чтобы закрыть форму&quot;, vbInformation, &quot;www.excel-vba.ru&quot; Cancel = True 'даем VBA понять, что надо отменить закрытие формы End If End Sub </span></p>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8.25pt;"><br /></p>
<table border="0" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px;" cellspacing="2" cellpadding="0">
<tr>
<td>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:15px;"><span style=" font-size:8.25pt;">1</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8.25pt;">2</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8.25pt;">3</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8.25pt;">4</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8.25pt;">5</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8.25pt;">6 </span></p></td>
<td>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:15px;"><a name="crayon-5a4ce73f8afc2729527669-1"></a><span style=" font-size:8.25pt;">P</span><span style=" font-size:8.25pt;">rivate Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="crayon-5a4ce73f8afc2729527669-2"></a><span style=" font-size:8.25pt;"> </span><span style=" font-size:8.25pt;">   If CloseMode = 0 Then 'CloseMode = 0 - попытка закрыть форму крестиком</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="crayon-5a4ce73f8afc2729527669-3"></a><span style=" font-size:8.25pt;"> </span><span style=" font-size:8.25pt;">       MsgBox &quot;Вы должны нажать на кнопку в центре, чтобы закрыть форму&quot;, vbInformation, &quot;www.excel-vba.ru&quot;</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="crayon-5a4ce73f8afc2729527669-4"></a><span style=" font-size:8.25pt;"> </span><span style=" font-size:8.25pt;">       Cancel = True 'даем VBA понять, что надо отменить закрытие формы</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="crayon-5a4ce73f8afc2729527669-5"></a><span style=" font-size:8.25pt;"> </span><span style=" font-size:8.25pt;">   End If</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="crayon-5a4ce73f8afc2729527669-6"></a><span style=" font-size:8.25pt;">E</span><span style=" font-size:8.25pt;">nd Sub</span></p></td></tr></table>
<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8.25pt;">Теперь при попытке закрыть форму крестиком пользователь увидит сообщение с инструкцией.</span></p>
<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8.25pt;">Вариант 2<br />Но порой надо не просто запретить закрывать форму - но и для эстетики убрать заголовок с крестиком вообще - чтобы не смущал пользователя. Здесь чуть посложнее - придется применить функции API. Код надо будет помещать уже на инициализацию формы(событие Initialize), а не на закрытие(QueryClose). Следующий код необходимо будет поместить в самое начало модуля той формы, меню которой требуется убрать(первой строкой или сразу после строк деклараций, таких как Option Explicit, Option Base, Option Compare Text): </span></p>
<p style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:15px;"><a name="crayon-5a4ce73f8afc8531073293"></a><span style=" font-size:8.25pt;">'</span><span style=" font-size:8.25pt;">константы для функций API Private Const GWL_STYLE As Long = -16&amp; 'для установки нового вида окна Private Const GWL_EXSTYLE = -20&amp; 'для расширенного стиля окна Private Const WS_CAPTION As Long = &amp;HC00000 'определяет заголовок Private Const WS_BORDER As Long = &amp;H800000 'определяет рамку формы 'Функции API, применяемые для поиска окна и изменения его стиля #If VBA7 Then Private Declare PtrSafe Function SetWindowLong Lib &quot;User32&quot; Alias &quot;SetWindowLongA&quot; (ByVal hwnd As LongPtr, ByVal nIndex As Long, ByVal dwNewLong As LongPtr) As LongPtr Private Declare PtrSafe Function GetWindowLong Lib &quot;User32&quot; Alias &quot;GetWindowLongA&quot; (ByVal hwnd As LongPtr, ByVal nIndex As Long) As LongPtr Private Declare PtrSafe Function FindWindow Lib &quot;User32&quot; Alias &quot;FindWindowA&quot; (ByVal lpClassName As String, ByVal lpWindowName As String) As LongPtr Private Declare PtrSafe Function DrawMenuBar Lib &quot;User32&quot; (ByVal hwnd As LongPtr) As Long #Else Private Declare Function SetWindowLong Lib &quot;User32&quot; Alias &quot;SetWindowLongA&quot; (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long Private Declare Function GetWindowLong Lib &quot;User32&quot; Alias &quot;GetWindowLongA&quot; (ByVal hwnd As Long, ByVal nIndex As Long) As Long Private Declare Function FindWindow Lib &quot;user32.dll&quot; Alias &quot;FindWindowA&quot; (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Private Declare Function DrawMenuBar Lib &quot;user32.dll&quot; (ByVal hwnd As Long) As Long #End If </span></p>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8.25pt;"><br /></p>
<table border="0" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px;" cellspacing="2" cellpadding="0">
<tr>
<td>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:15px;"><span style=" font-size:8.25pt;">1</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8.25pt;">2</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8.25pt;">3</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8.25pt;">4</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8.25pt;">5</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8.25pt;">6</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8.25pt;">7</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8.25pt;">8</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8.25pt;">9</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8.25pt;">10</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8.25pt;">11</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8.25pt;">12</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8.25pt;">13</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8.25pt;">14</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8.25pt;">15</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8.25pt;">16</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8.25pt;">17 </span></p></td>
<td>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:15px;"><a name="crayon-5a4ce73f8afc8531073293-1"></a><span style=" font-size:8.25pt;">'</span><span style=" font-size:8.25pt;">константы для функций API</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="crayon-5a4ce73f8afc8531073293-2"></a><span style=" font-size:8.25pt;">P</span><span style=" font-size:8.25pt;">rivate Const GWL_STYLE As Long = -16&amp; 'для установки нового вида окна</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="crayon-5a4ce73f8afc8531073293-3"></a><span style=" font-size:8.25pt;">P</span><span style=" font-size:8.25pt;">rivate Const GWL_EXSTYLE = -20&amp; 'для расширенного стиля окна</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="crayon-5a4ce73f8afc8531073293-4"></a><span style=" font-size:8.25pt;">P</span><span style=" font-size:8.25pt;">rivate Const WS_CAPTION As Long = &amp;HC00000 'определяет заголовок</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="crayon-5a4ce73f8afc8531073293-5"></a><span style=" font-size:8.25pt;">P</span><span style=" font-size:8.25pt;">rivate Const WS_BORDER As Long = &amp;H800000 'определяет рамку формы</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="crayon-5a4ce73f8afc8531073293-6"></a><span style=" font-size:8.25pt;">'</span><span style=" font-size:8.25pt;">Функции API, применяемые для поиска окна и изменения его стиля</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="crayon-5a4ce73f8afc8531073293-7"></a><span style=" font-size:8.25pt;">#</span><span style=" font-size:8.25pt;">If VBA7 Then</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="crayon-5a4ce73f8afc8531073293-8"></a><span style=" font-size:8.25pt;"> </span><span style=" font-size:8.25pt;">   Private Declare PtrSafe Function SetWindowLong Lib &quot;User32&quot; Alias &quot;SetWindowLongA&quot; (ByVal hwnd As LongPtr, ByVal nIndex As Long, ByVal dwNewLong As LongPtr) As LongPtr</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="crayon-5a4ce73f8afc8531073293-9"></a><span style=" font-size:8.25pt;"> </span><span style=" font-size:8.25pt;">   Private Declare PtrSafe Function GetWindowLong Lib &quot;User32&quot; Alias &quot;GetWindowLongA&quot; (ByVal hwnd As LongPtr, ByVal nIndex As Long) As LongPtr</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="crayon-5a4ce73f8afc8531073293-10"></a><span style=" font-size:8.25pt;"> </span><span style=" font-size:8.25pt;">   Private Declare PtrSafe Function FindWindow Lib &quot;User32&quot; Alias &quot;FindWindowA&quot; (ByVal lpClassName As String, ByVal lpWindowName As String) As LongPtr</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="crayon-5a4ce73f8afc8531073293-11"></a><span style=" font-size:8.25pt;"> </span><span style=" font-size:8.25pt;">   Private Declare PtrSafe Function DrawMenuBar Lib &quot;User32&quot; (ByVal hwnd As LongPtr) As Long</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="crayon-5a4ce73f8afc8531073293-12"></a><span style=" font-size:8.25pt;">#</span><span style=" font-size:8.25pt;">Else</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="crayon-5a4ce73f8afc8531073293-13"></a><span style=" font-size:8.25pt;"> </span><span style=" font-size:8.25pt;">   Private Declare Function SetWindowLong Lib &quot;User32&quot; Alias &quot;SetWindowLongA&quot; (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="crayon-5a4ce73f8afc8531073293-14"></a><span style=" font-size:8.25pt;"> </span><span style=" font-size:8.25pt;">   Private Declare Function GetWindowLong Lib &quot;User32&quot; Alias &quot;GetWindowLongA&quot; (ByVal hwnd As Long, ByVal nIndex As Long) As Long</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="crayon-5a4ce73f8afc8531073293-15"></a><span style=" font-size:8.25pt;"> </span><span style=" font-size:8.25pt;">   Private Declare Function FindWindow Lib &quot;user32.dll&quot; Alias &quot;FindWindowA&quot; (ByVal lpClassName As String, ByVal lpWindowName As String) As Long</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="crayon-5a4ce73f8afc8531073293-16"></a><span style=" font-size:8.25pt;"> </span><span style=" font-size:8.25pt;">   Private Declare Function DrawMenuBar Lib &quot;user32.dll&quot; (ByVal hwnd As Long) As Long</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="crayon-5a4ce73f8afc8531073293-17"></a><span style=" font-size:8.25pt;">#</span><span style=" font-size:8.25pt;">End If</span></p></td></tr></table>
<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8.25pt;">Это константы и функции API, которые и будут делать основную работу по удалению меню. Теперь останется на событие инициализации формы применить все эти функции: </span></p>
<p style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:15px;"><a name="crayon-5a4ce73f8afce173181269"></a><span style=" font-size:8.25pt;">P</span><span style=" font-size:8.25pt;">rivate Sub UserForm_Initialize() Dim ihWnd, hStyle 'ищем окно формы среди всех открытых окон If Val(Application.Version) &lt; 9 Then ihWnd = FindWindow(&quot;ThunderXFrame&quot;, Me.Caption) 'для Excel 97 Else ihWnd = FindWindow(&quot;ThunderDFrame&quot;, Me.Caption) 'для Excel 2000 и выше End If 'получаем информацию о найденном окне(стили и т.д.) hStyle = GetWindowLong(ihWnd, GWL_STYLE) 'назначаем переменной новый стиль для окна формы hStyle = hStyle And Not WS_CAPTION And Not WS_BORDER 'изменяем вид окна: убираем меню(заголовок) и рамку SetWindowLong ihWnd, GWL_STYLE, hStyle SetWindowLong ihWnd, GWL_EXSTYLE, 0 'перерисовываем форму, точнее строку меню(заголовка) DrawMenuBar ihWnd 'меняем размер формы, т.к. сделали смещение элементов формы вверх на высоту заголовка Me.Height = Me.Height + GWL_EXSTYLE End Sub </span></p>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8.25pt;"><br /></p>
<table border="0" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px;" cellspacing="2" cellpadding="0">
<tr>
<td>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:15px;"><span style=" font-size:8.25pt;">1</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8.25pt;">2</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8.25pt;">3</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8.25pt;">4</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8.25pt;">5</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8.25pt;">6</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8.25pt;">7</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8.25pt;">8</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8.25pt;">9</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8.25pt;">10</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8.25pt;">11</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8.25pt;">12</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8.25pt;">13</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8.25pt;">14</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8.25pt;">15</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8.25pt;">16</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8.25pt;">17</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8.25pt;">18</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8.25pt;">19</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8.25pt;">20 </span></p></td>
<td>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:15px;"><a name="crayon-5a4ce73f8afce173181269-1"></a><span style=" font-size:8.25pt;">P</span><span style=" font-size:8.25pt;">rivate Sub UserForm_Initialize()</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="crayon-5a4ce73f8afce173181269-2"></a><span style=" font-size:8.25pt;"> </span><span style=" font-size:8.25pt;">   Dim ihWnd, hStyle</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="crayon-5a4ce73f8afce173181269-3"></a><span style=" font-size:8.25pt;"> </span><span style=" font-size:8.25pt;">   'ищем окно формы среди всех открытых окон</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="crayon-5a4ce73f8afce173181269-4"></a><span style=" font-size:8.25pt;"> </span><span style=" font-size:8.25pt;">   If Val(Application.Version) &lt; 9 Then</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="crayon-5a4ce73f8afce173181269-5"></a><span style=" font-size:8.25pt;"> </span><span style=" font-size:8.25pt;">       ihWnd = FindWindow(&quot;ThunderXFrame&quot;, Me.Caption) 'для Excel 97</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="crayon-5a4ce73f8afce173181269-6"></a><span style=" font-size:8.25pt;"> </span><span style=" font-size:8.25pt;">   Else</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="crayon-5a4ce73f8afce173181269-7"></a><span style=" font-size:8.25pt;"> </span><span style=" font-size:8.25pt;">       ihWnd = FindWindow(&quot;ThunderDFrame&quot;, Me.Caption) 'для Excel 2000 и выше</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="crayon-5a4ce73f8afce173181269-8"></a><span style=" font-size:8.25pt;"> </span><span style=" font-size:8.25pt;">   End If</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="crayon-5a4ce73f8afce173181269-9"></a><span style=" font-size:8.25pt;"> </span><span style=" font-size:8.25pt;">   'получаем информацию о найденном окне(стили и т.д.)</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="crayon-5a4ce73f8afce173181269-10"></a><span style=" font-size:8.25pt;"> </span><span style=" font-size:8.25pt;">   hStyle = GetWindowLong(ihWnd, GWL_STYLE)</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="crayon-5a4ce73f8afce173181269-11"></a><span style=" font-size:8.25pt;"> </span><span style=" font-size:8.25pt;">   'назначаем переменной новый стиль для окна формы</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="crayon-5a4ce73f8afce173181269-12"></a><span style=" font-size:8.25pt;"> </span><span style=" font-size:8.25pt;">   hStyle = hStyle And Not WS_CAPTION And Not WS_BORDER</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="crayon-5a4ce73f8afce173181269-13"></a><span style=" font-size:8.25pt;"> </span><span style=" font-size:8.25pt;">   'изменяем вид окна: убираем меню(заголовок) и рамку</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="crayon-5a4ce73f8afce173181269-14"></a><span style=" font-size:8.25pt;"> </span><span style=" font-size:8.25pt;">   SetWindowLong ihWnd, GWL_STYLE, hStyle</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="crayon-5a4ce73f8afce173181269-15"></a><span style=" font-size:8.25pt;"> </span><span style=" font-size:8.25pt;">   SetWindowLong ihWnd, GWL_EXSTYLE, 0</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="crayon-5a4ce73f8afce173181269-16"></a><span style=" font-size:8.25pt;"> </span><span style=" font-size:8.25pt;">   'перерисовываем форму, точнее строку меню(заголовка)</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="crayon-5a4ce73f8afce173181269-17"></a><span style=" font-size:8.25pt;"> </span><span style=" font-size:8.25pt;">   DrawMenuBar ihWnd</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="crayon-5a4ce73f8afce173181269-18"></a><span style=" font-size:8.25pt;"> </span><span style=" font-size:8.25pt;">   'меняем размер формы, т.к. сделали смещение элементов формы вверх на высоту заголовка</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="crayon-5a4ce73f8afce173181269-19"></a><span style=" font-size:8.25pt;"> </span><span style=" font-size:8.25pt;">   Me.Height = Me.Height + GWL_EXSTYLE</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="crayon-5a4ce73f8afce173181269-20"></a><span style=" font-size:8.25pt;">E</span><span style=" font-size:8.25pt;">nd Sub</span></p></td></tr></table>
<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8.25pt;">Я постарался кратко описать действия с формой в комментариях, поэтому не буду дублировать это еще и отдельным текстом.<br />После этого кода форма получается более эстетичного вида:<br /></span><img src="image18904.png" /><span style=" font-size:8.25pt;"><br />С такой формой у пользователя точно не возникнет желания закрыть форму как-то в обход наших желаний. В коммерческих разработках такой подход будет более правильным. Однако здесь тоже есть недостаток: т.к. строка меню убирается полностью, то форму невозможно переместить при помощи мыши. В каких-то случаях это может мешать, а в каких-то наоборот быть преимуществом. Так или иначе это следует учитывать.</span></p>
<hr />
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8.25pt;">С легкой руки моего старого друга и модератора </span><a href="http://www.excel-vba.ru/forum/index.php"><span style=" font-size:8.25pt; text-decoration: underline; color:#0000ff;">нашего форума</span></a><span style=" font-size:8.25pt;"> </span><span style=" font-size:8.25pt; font-weight:600;">ЮрияМ</span><span style=" font-size:8.25pt;"> дополняю статью еще одним кодом. Если на запуск формы применить такой код:<br /></span></p>
<p style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:15px;"><a name="crayon-5a4ce73f8afd4159515812"></a><span style=" font-size:8.25pt;">P</span><span style=" font-size:8.25pt;">rivate Sub UserForm_Initialize() Dim ihWnd, hStyle 'ищем окно формы среди всех открытых окон If Val(Application.Version) &lt; 9 Then ihWnd = FindWindow(&quot;ThunderXFrame&quot;, Me.Caption) 'для Excel 97 Else ihWnd = FindWindow(&quot;ThunderDFrame&quot;, Me.Caption) 'для Excel 2000 и выше End If 'получаем информацию о найденном окне(стили и т.д.) hStyle = GetWindowLong(ihWnd, -16&amp;) 'убираем кнопку крестика SetWindowLong ihWnd, -16&amp;, hStyle And Not &amp;H80000 End Sub </span></p>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8.25pt;"><br /></p>
<table border="0" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px;" cellspacing="2" cellpadding="0">
<tr>
<td>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:15px;"><span style=" font-size:8.25pt;">1</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8.25pt;">2</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8.25pt;">3</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8.25pt;">4</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8.25pt;">5</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8.25pt;">6</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8.25pt;">7</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8.25pt;">8</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8.25pt;">9</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8.25pt;">10</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8.25pt;">11</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8.25pt;">12</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8.25pt;">13 </span></p></td>
<td>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:15px;"><a name="crayon-5a4ce73f8afd4159515812-1"></a><span style=" font-size:8.25pt;">P</span><span style=" font-size:8.25pt;">rivate Sub UserForm_Initialize()</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="crayon-5a4ce73f8afd4159515812-2"></a><span style=" font-size:8.25pt;"> </span><span style=" font-size:8.25pt;">   Dim ihWnd, hStyle</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="crayon-5a4ce73f8afd4159515812-3"></a><span style=" font-size:8.25pt;"> </span><span style=" font-size:8.25pt;">   'ищем окно формы среди всех открытых окон</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="crayon-5a4ce73f8afd4159515812-4"></a><span style=" font-size:8.25pt;"> </span><span style=" font-size:8.25pt;">   If Val(Application.Version) &lt; 9 Then</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="crayon-5a4ce73f8afd4159515812-5"></a><span style=" font-size:8.25pt;"> </span><span style=" font-size:8.25pt;">       ihWnd = FindWindow(&quot;ThunderXFrame&quot;, Me.Caption) 'для Excel 97</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="crayon-5a4ce73f8afd4159515812-6"></a><span style=" font-size:8.25pt;"> </span><span style=" font-size:8.25pt;">   Else</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="crayon-5a4ce73f8afd4159515812-7"></a><span style=" font-size:8.25pt;"> </span><span style=" font-size:8.25pt;">       ihWnd = FindWindow(&quot;ThunderDFrame&quot;, Me.Caption) 'для Excel 2000 и выше</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="crayon-5a4ce73f8afd4159515812-8"></a><span style=" font-size:8.25pt;"> </span><span style=" font-size:8.25pt;">   End If</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="crayon-5a4ce73f8afd4159515812-9"></a><span style=" font-size:8.25pt;"> </span><span style=" font-size:8.25pt;">   'получаем информацию о найденном окне(стили и т.д.)</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="crayon-5a4ce73f8afd4159515812-10"></a><span style=" font-size:8.25pt;"> </span><span style=" font-size:8.25pt;">   hStyle = GetWindowLong(ihWnd, -16&amp;)</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="crayon-5a4ce73f8afd4159515812-11"></a><span style=" font-size:8.25pt;"> </span><span style=" font-size:8.25pt;">   'убираем кнопку крестика</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="crayon-5a4ce73f8afd4159515812-12"></a><span style=" font-size:8.25pt;"> </span><span style=" font-size:8.25pt;">   SetWindowLong ihWnd, -16&amp;, hStyle And Not &amp;H80000</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="crayon-5a4ce73f8afd4159515812-13"></a><span style=" font-size:8.25pt;">E</span><span style=" font-size:8.25pt;">nd Sub</span></p></td></tr></table>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8.25pt;"><br />То заголовок будет и можно будет форму за него хватать и перемещать, но крестика на форме вообще не будет:<br /></span><img src="image27733.png" /><span style=" font-size:8.25pt;"><br />Для этого кода так(же как и для предыдущего) в модуле формы необходимо разместить приведенные выше функции API.</span></p>
<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8.25pt; font-weight:600;">ВАЖНО:</span><span style=" font-size:8.25pt;"> Применяя любой из подходов советую заранее продумать как форма будет вообще закрываться, в том числе в режиме отладки программы. Т.к. если просто вставить этот код, то сами же не сможете закрыть форму - только завершением выполнения кода через </span><span style=" font-size:8.25pt; font-weight:600;">Run</span><span style=" font-size:8.25pt;"> -</span><span style=" font-size:8.25pt; font-weight:600;">Reset</span><span style=" font-size:8.25pt;">.</span></p>
<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8.25pt;">Во вложении найдете все описанные варианты отображения форм: </span></p>
<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src="image12320.png" /><span style=" font-size:8.25pt;">  </span><a href="http://www.excel-vba.ru/download/167/"><span style=" font-size:8.25pt; font-weight:600; text-decoration: underline; color:#0000ff;">Tips_Macro_DontCloseFormOnMenu.xls</span></a><span style=" font-size:8.25pt;"> (77,5 KiB, 519 скачиваний)</span></p></body></html>